// ImportMSXML.h
// 
// Copyright (c) Jason Sandys, 2009
//
// License: This code is released according to the 
// Microsoft Public License (Ms-PL) as documented at 
// http://osdappchooser.codeplex.com/license
//
// Some code in this file is based on a series of articles by David 
// Sackstein: http://blogs.microsoft.co.il/blogs/davids/archive/2008/12/20/msxml-in-c-but-as-elegant-as-c.aspx
//
//////////////////////////////////////////////////////////////////////

#pragma once

#ifdef RAW_INTERFACES_ONLY
	#import <msxml6.dll> named_guids raw_interfaces_only
#else
	#import <msxml6.dll> named_guids
#endif

using namespace MSXML2;

typedef MSXML2::IXMLDOMNodePtr					XmlNode;	
typedef MSXML2::IXMLDOMDocument2Ptr				XmlDocument;
typedef MSXML2::IXMLDOMElementPtr				XmlElement;		
typedef MSXML2::IXMLDOMAttributePtr				XmlAttribute;			
typedef MSXML2::IXMLDOMCommentPtr				XmlComment;			
typedef MSXML2::IXMLDOMNamedNodeMapPtr			XmlNamedNodeMap;			
typedef MSXML2::IXMLDOMNodeListPtr				XmlNodeList;			
typedef MSXML2::IXMLDOMDocumentFragmentPtr		XmlDocumentFragment;			
typedef MSXML2::IXMLDOMCDATASectionPtr			XmlCDataSection;			
typedef MSXML2::IXMLDOMProcessingInstructionPtr XmlProcessingInstruction;			
typedef MSXML2::IXMLDOMSchemaCollectionPtr		XmlSchemaCollection;			
typedef MSXML2::IXMLDOMParseErrorPtr			XmlParseError;	
typedef MSXML2::IXSLProcessorPtr				XslProcessor;		
typedef MSXML2::IXSLTemplatePtr					XslTemplate;

#import "TSCore.dll" named_guids

using namespace TSEnvironmentLib;